import kotlin.math.roundToInt

// TODO: 字符串相关函数
// DATE: 2022/3/19
// AUTHOR: Cheng Ze WUST
const val INFO="ABCDEFGHIJKLMN"
fun main(args: Array<String>){
    val indexOf=INFO.indexOf('I')
    //从0截取到'I'的位置
    println(INFO.substring(0,indexOf))
    println(INFO.substring(0 until indexOf))

    //split操作
    val str1="Cheng,Zhang,Wang,Lee"
    val list=str1.split(",")    //以","为标识分割放入list
    println(list[1])
    val (v1,v2,v3,v4)=list  //解构

    //replace操作
    println("原始字符串：$INFO")
    //Regex("正则表达式")
    val pwd=INFO.replace(Regex("[ACFJK]")){
        //it.value    //相当于啥也没做
        "***"   //把ACFJK替换成***
    }
    println(pwd)

    //"=="与"==="
    //== 值 内容的比较 相当于equals
    val str2="Miky"
    val str3="Miky"
    val str4="Mike"
    println("${str2==str3}  ${str2==str4}")
    //=== 引用的比较

    //字符串遍历
    INFO.forEach {
        print("$it ")
    }
    println()

    //数字类型转换
    //字符串转数字
    val number:Int = "123".toInt()
    val number2:Double = "123.9".toDouble()
    val number3:Int ?= "123.5".toIntOrNull()
    println("$number  $number2  $number3")
    //Double与Int
    println(5473.82.toInt())    //丢弃小数位
    println(5473.82.roundToInt())   //四舍五入取整
    println("%.3f".format(23.27815677))    // 保留三位小数

}